package com.itheima.arraylistdemo;

import javax.lang.model.element.NestingKind;
import java.util.ArrayList;
import java.util.Scanner;

/*
 *
 *菜品操作类
 * */
public class FoodOperator {
    //首先要有一个容器对菜品进行存储(每一个菜品就是一个对象)
    //记住万物皆对象,万物皆类型
    private ArrayList<Food> allFoods = new ArrayList<>();
    private Scanner sc = new Scanner(System.in);


    //上架菜品的功能,实际上就是向集合中存入菜品(每一个菜品就是一个对象)
    public void listFood() {
        //提示当前是什么功能
        System.out.println("======上架菜品=======");
        //获取到菜品对象
        Food food = new Food();
        //扫描器就得放在成员的地方
        //提示用户输入菜品数据
        System.out.println("请输入菜品名字");
        String name = sc.next();
        //将菜品商家输入的数据封装到对象中去
        food.setName(name);

        System.out.println("请输入菜品价格");
        int price = sc.nextInt();
        food.setPrice(price);

        System.out.println("请输入菜品的描述");
        String desc = sc.next();
        food.setDesc(desc);

        //再将封装了数据的对象存到集合中去
        allFoods.add(food);
    }
    //实现对菜品下架的业务功能
    public void delistedDishes() {
        //提示当前是什么功能
        System.out.println("======下架菜品=======");
        //提示用户输入菜品的名字,按照菜品名字进行下架菜品
        String name = sc.next();
        //遍历集合获取到集合中的所有数据,然后对数据,进行删除
        //用方式1
        for (int i = 0; i < allFoods.size(); i++) {
            Food food = allFoods.get(i);//这个是一个对象,要调用它的数据
            //比较没一个彩屏
            if(food.getName().equals(name)){
                allFoods.remove(food);
                System.out.println("删除菜品成功");
                i--;//为了解决重叠问题
               return;
            }
        }
        //提示用户,当前当前所有剩余彩屏
//        showAllFood();

            //没有这菜品信息
            System.out.println("菜单中没这个菜品,请重新下达指令");

    }

    //实现展示所有菜品改的功能
    public void showAllFood() {
        System.out.println("=====所有菜品信息如下======");
        //遍历集合,获取每一个集合对象,展示出来
        for (int i = 0; i < allFoods.size(); i++) {
            //获取每一个菜品(也就是每一个菜品对象)
            Food food = allFoods.get(i);
            //展示每一个菜品封装的数据
            System.out.println(food.getName() + "\t" + food.getPrice() + "\t" + food.getDesc());
        }
    }



    //开始开始操作商家管理系统
    public void start() {
        while (true) {
            //说明是什么系统
            System.out.println("=========商家管理系统==========");
            //提示用户输入指令
            System.out.println("请输入您的操作指令");
            System.out.println("1:代表上架菜品");
            System.out.println("2:代表下架菜品");
            System.out.println("3:代表展示所有菜品信息");
            //创建扫描器
            //接受商家输入的指令
            int command = sc.nextInt();

            //对指令进行判断
            switch (command) {
                case 1:
                    //上架
                    listFood();
                    break;
                case 2:
                    //下架
                    delistedDishes();
                    break;
                case 3:
                    //展示
                    showAllFood();
                    break;
                default:
                    System.out.println("没有这这个操作,请按照提示进行输入");
            }
        }


    }



}
